PostgreSQL是一種關聯式資料庫,就像MySQL一樣,他的結構是一個資料庫底下有多張table,table之間可以有關聯性。Postgres原本並沒有支援SQL語法,是在1994,Andrew Yu和Jolly Chen把SQL語法加入Postgres之後,Postgres才有今天我們在下的SQL query。兩年後,為了更貼切的描述Postgres和SQL的關係,把Postgres95改名成現在大家所知的PostgreSQL。
功能上,大家比較常用和熟悉的通常是新增table、Insert資料、query資料、Join table、Aggregate Functions、Update資料和刪除資料。所以接下來幾天會簡介這幾種功能的語法,今天就先說新增table。
新增table需要使用CREATE TABLE
,並在後面定義table名稱,然後定義每個欄位的名稱和型別。PostgreSQL的欄位型別,除了支援標準的SQL型別 int
, smallint
, real
, double precision
, char(N)
, varchar(N)
, date
, time
, timestamp
和 interval
之外,還有其他特定需求的型別,像是geo會使用的 point
和網路資訊使用的 cidr
等。大部分的型別不需要指定欄位大小,但字串型別 char(N)
和 varchar(N)
需要特別指定。
下面是新增table的範例:
CREATE TABLE weather (
city varchar(80),
temp_lo int, -- low temperature
temp_hi int, -- high temperature
prcp real, -- precipitation
date date
);
CREATE TABLE cities (
name varchar(80),
location point
);
新增table之後,如果後來發現不需要,可以用DROP
把table移除。
DROP TABLE tablename;